<?php

  require_once "JooS/Event.php";

  /**
   * Событие возникает когда CodeGenerator-класс-пакет готов для записи на диск
   * возникает в JooS_PHPackager_DOM_Element_Package, ловится в JooS_PHPackager_Manager::make
   * обработчик события - замыкание
   *
   * @property string $className
   * @property JooS_CodeGenerator_Class $package
   */
  final class JooS_Event_Phpackager_Package_Source extends JooS_Event {
    /**
     * @param string $className
     * @return JooS_Event_Phpackager_Package_Source
     */
    public function setClassName($className) {
      $this->className = $className;
      return $this;
    }

    /**
     * @param JooS_CodeGenerator_Class $package
     * @return JooS_Event_Phpackager_Package_Source
     */
    public function setPackage(JooS_CodeGenerator_Class $package) {
      $this->package = $package;
      return $this;
    }
    /**
     * @return JooS_Event_Phpackager_Package_Source
     */
    public static function getInstance() {
      return self::_getInstance(__CLASS__);
    }
  }
